#include<iostream>
using namespace std;
//1.饿汉模式
// class Singleton
// {
// private:
//     static Singleton _eton;
//     Singleton():_data(99){
//         std::cout<<"单例对象构造\n";
//     }
//     Singleton(const Singleton&)=delete;
//     ~Singleton(){}
// private:
//     int _data;
// public:
//     static Singleton &getInstance(){
//         return _eton;
//     }
//     int getData() {return _data;}
// };
// Singleton Singleton::_eton;

//懒汉模式
class Singleton
{
private:
    int _data;
    Singleton():_data(99){
        cout<<"单例对象构造"<<endl;
    }
    ~Singleton(){}
    Singleton(const Singleton&)=delete;
public:
    static Singleton& getInstance(){
        static Singleton _eton;
        return _eton;
    }
    int getData(){
        return _data;
    }
};
int main()
{
    Singleton::getInstance();
    return 0;
}